<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
<meta name="generator" content="AsciiDoc 10.2.0" />
<title>nvme-get-log(1)</title>
<style type="text/css">
/* Shared CSS for AsciiDoc xhtml11 and html5 backends */

/* Default font. */
body {
  font-family: Georgia,serif;
}

/* Title font. */
h1, h2, h3, h4, h5, h6,
div.title, caption.title,
thead, p.table.header,
#toctitle,
#author, #revnumber, #revdate, #revremark,
#footer {
  font-family: Arial,Helvetica,sans-serif;
}

body {
  margin: 1em 5% 1em 5%;
}

a {
  color: blue;
  text-decoration: underline;
}
a:visited {
  color: fuchsia;
}

em {
  font-style: italic;
  color: navy;
}

strong {
  font-weight: bold;
  color: #083194;
}

h1, h2, h3, h4, h5, h6 {
  color: #527bbd;
  margin-top: 1.2em;
  margin-bottom: 0.5em;
  line-height: 1.3;
}

h1, h2, h3 {
  border-bottom: 2px solid silver;
}
h2 {
  padding-top: 0.5em;
}
h3 {
  float: left;
}
h3 + * {
  clear: left;
}
h5 {
  font-size: 1.0em;
}

div.sectionbody {
  margin-left: 0;
}

hr {
  border: 1px solid silver;
}

p {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

ul, ol, li > p {
  margin-top: 0;
}
ul > li     { color: #aaa; }
ul > li > * { color: black; }

.monospaced, code, pre {
  font-family: "Courier New", Courier, monospace;
  font-size: inherit;
  color: navy;
  padding: 0;
  margin: 0;
}
pre {
  white-space: pre-wrap;
}

#author {
  color: #527bbd;
  font-weight: bold;
  font-size: 1.1em;
}
#email {
}
#revnumber, #revdate, #revremark {
}

#footer {
  font-size: small;
  border-top: 2px solid silver;
  padding-top: 0.5em;
  margin-top: 4.0em;
}
#footer-text {
  float: left;
  padding-bottom: 0.5em;
}
#footer-badges {
  float: right;
  padding-bottom: 0.5em;
}

#preamble {
  margin-top: 1.5em;
  margin-bottom: 1.5em;
}
div.imageblock, div.exampleblock, div.verseblock,
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
div.admonitionblock {
  margin-top: 1.0em;
  margin-bottom: 1.5em;
}
div.admonitionblock {
  margin-top: 2.0em;
  margin-bottom: 2.0em;
  margin-right: 10%;
  color: #606060;
}

div.content { /* Block element content. */
  padding: 0;
}

/* Block element titles. */
div.title, caption.title {
  color: #527bbd;
  font-weight: bold;
  text-align: left;
  margin-top: 1.0em;
  margin-bottom: 0.5em;
}
div.title + * {
  margin-top: 0;
}

td div.title:first-child {
  margin-top: 0.0em;
}
div.content div.title:first-child {
  margin-top: 0.0em;
}
div.content + div.title {
  margin-top: 0.0em;
}

div.sidebarblock > div.content {
  background: #ffffee;
  border: 1px solid #dddddd;
  border-left: 4px solid #f0f0f0;
  padding: 0.5em;
}

div.listingblock > div.content {
  border: 1px solid #dddddd;
  border-left: 5px solid #f0f0f0;
  background: #f8f8f8;
  padding: 0.5em;
}

div.quoteblock, div.verseblock {
  padding-left: 1.0em;
  margin-left: 1.0em;
  margin-right: 10%;
  border-left: 5px solid #f0f0f0;
  color: #888;
}

div.quoteblock > div.attribution {
  padding-top: 0.5em;
  text-align: right;
}

div.verseblock > pre.content {
  font-family: inherit;
  font-size: inherit;
}
div.verseblock > div.attribution {
  padding-top: 0.75em;
  text-align: left;
}
/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
div.verseblock + div.attribution {
  text-align: left;
}

div.admonitionblock .icon {
  vertical-align: top;
  font-size: 1.1em;
  font-weight: bold;
  text-decoration: underline;
  color: #527bbd;
  padding-right: 0.5em;
}
div.admonitionblock td.content {
  padding-left: 0.5em;
  border-left: 3px solid #dddddd;
}

div.exampleblock > div.content {
  border-left: 3px solid #dddddd;
  padding-left: 0.5em;
}

div.imageblock div.content { padding-left: 0; }
span.image img { border-style: none; vertical-align: text-bottom; }
a.image:visited { color: white; }

dl {
  margin-top: 0.8em;
  margin-bottom: 0.8em;
}
dt {
  margin-top: 0.5em;
  margin-bottom: 0;
  font-style: normal;
  color: navy;
}
dd > *:first-child {
  margin-top: 0.1em;
}

ul, ol {
    list-style-position: outside;
}
ol.arabic {
  list-style-type: decimal;
}
ol.loweralpha {
  list-style-type: lower-alpha;
}
ol.upperalpha {
  list-style-type: upper-alpha;
}
ol.lowerroman {
  list-style-type: lower-roman;
}
ol.upperroman {
  list-style-type: upper-roman;
}

div.compact ul, div.compact ol,
div.compact p, div.compact p,
div.compact div, div.compact div {
  margin-top: 0.1em;
  margin-bottom: 0.1em;
}

tfoot {
  font-weight: bold;
}
td > div.verse {
  white-space: pre;
}

div.hdlist {
  margin-top: 0.8em;
  margin-bottom: 0.8em;
}
div.hdlist tr {
  padding-bottom: 15px;
}
dt.hdlist1.strong, td.hdlist1.strong {
  font-weight: bold;
}
td.hdlist1 {
  vertical-align: top;
  font-style: normal;
  padding-right: 0.8em;
  color: navy;
}
td.hdlist2 {
  vertical-align: top;
}
div.hdlist.compact tr {
  margin: 0;
  padding-bottom: 0;
}

.comment {
  background: yellow;
}

.footnote, .footnoteref {
  font-size: 0.8em;
}

span.footnote, span.footnoteref {
  vertical-align: super;
}

#footnotes {
  margin: 20px 0 20px 0;
  padding: 7px 0 0 0;
}

#footnotes div.footnote {
  margin: 0 0 5px 0;
}

#footnotes hr {
  border: none;
  border-top: 1px solid silver;
  height: 1px;
  text-align: left;
  margin-left: 0;
  width: 20%;
  min-width: 100px;
}

div.colist td {
  padding-right: 0.5em;
  padding-bottom: 0.3em;
  vertical-align: top;
}
div.colist td img {
  margin-top: 0.3em;
}

@media print {
  #footer-badges { display: none; }
}

#toc {
  margin-bottom: 2.5em;
}

#toctitle {
  color: #527bbd;
  font-size: 1.1em;
  font-weight: bold;
  margin-top: 1.0em;
  margin-bottom: 0.1em;
}

div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
  margin-top: 0;
  margin-bottom: 0;
}
div.toclevel2 {
  margin-left: 2em;
  font-size: 0.9em;
}
div.toclevel3 {
  margin-left: 4em;
  font-size: 0.9em;
}
div.toclevel4 {
  margin-left: 6em;
  font-size: 0.9em;
}

span.aqua { color: aqua; }
span.black { color: black; }
span.blue { color: blue; }
span.fuchsia { color: fuchsia; }
span.gray { color: gray; }
span.green { color: green; }
span.lime { color: lime; }
span.maroon { color: maroon; }
span.navy { color: navy; }
span.olive { color: olive; }
span.purple { color: purple; }
span.red { color: red; }
span.silver { color: silver; }
span.teal { color: teal; }
span.white { color: white; }
span.yellow { color: yellow; }

span.aqua-background { background: aqua; }
span.black-background { background: black; }
span.blue-background { background: blue; }
span.fuchsia-background { background: fuchsia; }
span.gray-background { background: gray; }
span.green-background { background: green; }
span.lime-background { background: lime; }
span.maroon-background { background: maroon; }
span.navy-background { background: navy; }
span.olive-background { background: olive; }
span.purple-background { background: purple; }
span.red-background { background: red; }
span.silver-background { background: silver; }
span.teal-background { background: teal; }
span.white-background { background: white; }
span.yellow-background { background: yellow; }

span.big { font-size: 2em; }
span.small { font-size: 0.6em; }

span.underline { text-decoration: underline; }
span.overline { text-decoration: overline; }
span.line-through { text-decoration: line-through; }

div.unbreakable { page-break-inside: avoid; }


/*
 * xhtml11 specific
 *
 * */

div.tableblock {
  margin-top: 1.0em;
  margin-bottom: 1.5em;
}
div.tableblock > table {
  border: 3px solid #527bbd;
}
thead, p.table.header {
  font-weight: bold;
  color: #527bbd;
}
p.table {
  margin-top: 0;
}
/* Because the table frame attribute is overridden by CSS in most browsers. */
div.tableblock > table[frame="void"] {
  border-style: none;
}
div.tableblock > table[frame="hsides"] {
  border-left-style: none;
  border-right-style: none;
}
div.tableblock > table[frame="vsides"] {
  border-top-style: none;
  border-bottom-style: none;
}


/*
 * html5 specific
 *
 * */

table.tableblock {
  margin-top: 1.0em;
  margin-bottom: 1.5em;
}
thead, p.tableblock.header {
  font-weight: bold;
  color: #527bbd;
}
p.tableblock {
  margin-top: 0;
}
table.tableblock {
  border-width: 3px;
  border-spacing: 0px;
  border-style: solid;
  border-color: #527bbd;
  border-collapse: collapse;
}
th.tableblock, td.tableblock {
  border-width: 1px;
  padding: 4px;
  border-style: solid;
  border-color: #527bbd;
}

table.tableblock.frame-topbot {
  border-left-style: hidden;
  border-right-style: hidden;
}
table.tableblock.frame-sides {
  border-top-style: hidden;
  border-bottom-style: hidden;
}
table.tableblock.frame-none {
  border-style: hidden;
}

th.tableblock.halign-left, td.tableblock.halign-left {
  text-align: left;
}
th.tableblock.halign-center, td.tableblock.halign-center {
  text-align: center;
}
th.tableblock.halign-right, td.tableblock.halign-right {
  text-align: right;
}

th.tableblock.valign-top, td.tableblock.valign-top {
  vertical-align: top;
}
th.tableblock.valign-middle, td.tableblock.valign-middle {
  vertical-align: middle;
}
th.tableblock.valign-bottom, td.tableblock.valign-bottom {
  vertical-align: bottom;
}


/*
 * manpage specific
 *
 * */

body.manpage h1 {
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  border-top: 2px solid silver;
  border-bottom: 2px solid silver;
}
body.manpage h2 {
  border-style: none;
}
body.manpage div.sectionbody {
  margin-left: 3em;
}

@media print {
  body.manpage div#toc { display: none; }
}


</style>
<script type="text/javascript">
/*<![CDATA[*/
var asciidoc = {  // Namespace.

/////////////////////////////////////////////////////////////////////
// Table Of Contents generator
/////////////////////////////////////////////////////////////////////

/* Author: Mihai Bazon, September 2002
 * http://students.infoiasi.ro/~mishoo
 *
 * Table Of Content generator
 * Version: 0.4
 *
 * Feel free to use this script under the terms of the GNU General Public
 * License, as long as you do not remove or alter this notice.
 */

 /* modified by Troy D. Hanson, September 2006. License: GPL */
 /* modified by Stuart Rackham, 2006, 2009. License: GPL */

// toclevels = 1..4.
toc: function (toclevels) {

  function getText(el) {
    var text = "";
    for (var i = el.firstChild; i != null; i = i.nextSibling) {
      if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
        text += i.data;
      else if (i.firstChild != null)
        text += getText(i);
    }
    return text;
  }

  function TocEntry(el, text, toclevel) {
    this.element = el;
    this.text = text;
    this.toclevel = toclevel;
  }

  function tocEntries(el, toclevels) {
    var result = new Array;
    var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');
    // Function that scans the DOM tree for header elements (the DOM2
    // nodeIterator API would be a better technique but not supported by all
    // browsers).
    var iterate = function (el) {
      for (var i = el.firstChild; i != null; i = i.nextSibling) {
        if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
          var mo = re.exec(i.tagName);
          if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
            result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
          }
          iterate(i);
        }
      }
    }
    iterate(el);
    return result;
  }

  var toc = document.getElementById("toc");
  if (!toc) {
    return;
  }

  // Delete existing TOC entries in case we're reloading the TOC.
  var tocEntriesToRemove = [];
  var i;
  for (i = 0; i < toc.childNodes.length; i++) {
    var entry = toc.childNodes[i];
    if (entry.nodeName.toLowerCase() == 'div'
     && entry.getAttribute("class")
     && entry.getAttribute("class").match(/^toclevel/))
      tocEntriesToRemove.push(entry);
  }
  for (i = 0; i < tocEntriesToRemove.length; i++) {
    toc.removeChild(tocEntriesToRemove[i]);
  }

  // Rebuild TOC entries.
  var entries = tocEntries(document.getElementById("content"), toclevels);
  for (var i = 0; i < entries.length; ++i) {
    var entry = entries[i];
    if (entry.element.id == "")
      entry.element.id = "_toc_" + i;
    var a = document.createElement("a");
    a.href = "#" + entry.element.id;
    a.appendChild(document.createTextNode(entry.text));
    var div = document.createElement("div");
    div.appendChild(a);
    div.className = "toclevel" + entry.toclevel;
    toc.appendChild(div);
  }
  if (entries.length == 0)
    toc.parentNode.removeChild(toc);
},


/////////////////////////////////////////////////////////////////////
// Footnotes generator
/////////////////////////////////////////////////////////////////////

/* Based on footnote generation code from:
 * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
 */

footnotes: function () {
  // Delete existing footnote entries in case we're reloading the footnodes.
  var i;
  var noteholder = document.getElementById("footnotes");
  if (!noteholder) {
    return;
  }
  var entriesToRemove = [];
  for (i = 0; i < noteholder.childNodes.length; i++) {
    var entry = noteholder.childNodes[i];
    if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
      entriesToRemove.push(entry);
  }
  for (i = 0; i < entriesToRemove.length; i++) {
    noteholder.removeChild(entriesToRemove[i]);
  }

  // Rebuild footnote entries.
  var cont = document.getElementById("content");
  var spans = cont.getElementsByTagName("span");
  var refs = {};
  var n = 0;
  for (i=0; i<spans.length; i++) {
    if (spans[i].className == "footnote") {
      n++;
      var note = spans[i].getAttribute("data-note");
      if (!note) {
        // Use [\s\S] in place of . so multi-line matches work.
        // Because JavaScript has no s (dotall) regex flag.
        note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
        spans[i].innerHTML =
          "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
          "' title='View footnote' class='footnote'>" + n + "</a>]";
        spans[i].setAttribute("data-note", note);
      }
      noteholder.innerHTML +=
        "<div class='footnote' id='_footnote_" + n + "'>" +
        "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
        n + "</a>. " + note + "</div>";
      var id =spans[i].getAttribute("id");
      if (id != null) refs["#"+id] = n;
    }
  }
  if (n == 0)
    noteholder.parentNode.removeChild(noteholder);
  else {
    // Process footnoterefs.
    for (i=0; i<spans.length; i++) {
      if (spans[i].className == "footnoteref") {
        var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
        href = href.match(/#.*/)[0];  // Because IE return full URL.
        n = refs[href];
        spans[i].innerHTML =
          "[<a href='#_footnote_" + n +
          "' title='View footnote' class='footnote'>" + n + "</a>]";
      }
    }
  }
},

install: function(toclevels) {
  var timerId;

  function reinstall() {
    asciidoc.footnotes();
    if (toclevels) {
      asciidoc.toc(toclevels);
    }
  }

  function reinstallAndRemoveTimer() {
    clearInterval(timerId);
    reinstall();
  }

  timerId = setInterval(reinstall, 500);
  if (document.addEventListener)
    document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
  else
    window.onload = reinstallAndRemoveTimer;
}

}
asciidoc.install();
/*]]>*/
</script>
</head>
<body class="manpage">
<div id="header">
<h1>
nvme-get-log(1) Manual Page
</h1>
<h2>NAME</h2>
<div class="sectionbody">
<p>nvme-get-log -
   Retrieves a log page from an NVMe device
</p>
</div>
</div>
<div id="content">
<div class="sect1">
<h2 id="_synopsis">SYNOPSIS</h2>
<div class="sectionbody">
<div class="verseblock">
<pre class="content"><em>nvme get-log</em> &lt;device&gt; [--log-id=&lt;log-id&gt; | -i &lt;log-id&gt;]
                        [--log-len=&lt;log-len&gt; | -l &lt;log-len&gt;]
                        [--aen=&lt;aen&gt; | -a &lt;aen&gt;]
                        [--namespace-id=&lt;nsid&gt; | -n &lt;nsid&gt;]
                        [--raw-binary | -b]
                        [--lpo=&lt;offset&gt; | -L &lt;offset&gt;]
                        [--lsp=&lt;field&gt; | -s &lt;field&gt;]
                        [--lsi=&lt;field&gt; | -S &lt;field&gt;]
                        [--rae | -r]
                        [--csi=&lt;command_set_identifier&gt; | -y &lt;command_set_identifier&gt;]
                        [--ot=&lt;offset_type&gt; | -O &lt;offset_type&gt;]
                        [--xfer-len=&lt;length&gt; | -x &lt;length&gt;]
                        [--output-format=&lt;fmt&gt; | -o &lt;fmt&gt;] [--verbose | -v]</pre>
<div class="attribution">
</div></div>
</div>
</div>
<div class="sect1">
<h2 id="_description">DESCRIPTION</h2>
<div class="sectionbody">
<div class="paragraph"><p>Retrieves an arbitrary NVMe log page from an NVMe device and provides
the returned structure.</p></div>
<div class="paragraph"><p>The &lt;device&gt; parameter is mandatory and may be either the NVMe character
device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1).</p></div>
<div class="paragraph"><p>On success, the returned log structure may be returned in one of several
ways depending on the option flags; the structure may be displayed in
hex by the program or the raw buffer may be printed to stdout for another
program to parse.</p></div>
</div>
</div>
<div class="sect1">
<h2 id="_options">OPTIONS</h2>
<div class="sectionbody">
<div class="dlist"><dl>
<dt class="hdlist1">
-l &lt;log-len&gt;
</dt>
<dt class="hdlist1">
--log-len=&lt;log-len&gt;
</dt>
<dd>
<p>
        Allocates a buffer of &lt;log-len&gt; bytes size and requests this
        many bytes be returned in the constructed NVMe command. This
        param is mandatory.
</p>
</dd>
<dt class="hdlist1">
-i &lt;log-id&gt;
</dt>
<dt class="hdlist1">
--log-id=&lt;log-id&gt;
</dt>
<dd>
<p>
        Sets the commands requested log-id to &lt;log-id&gt;. Defaults to 0.
</p>
<div class="tableblock">
<table rules="all"
width="100%"
frame="border"
cellspacing="0" cellpadding="4">
<col width="50%" />
<col width="50%" />
<tbody>
<tr>
<td align="left" valign="top"><p class="table">Value</p></td>
<td align="left" valign="top"><p class="table">Definition</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x00 | <em>supported-log-pages</em></p></td>
<td align="left" valign="top"><p class="table">Supported Log Pages</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x01 | <em>error</em></p></td>
<td align="left" valign="top"><p class="table">Error Information</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x02 | <em>smart</em></p></td>
<td align="left" valign="top"><p class="table">SMART / Health Information</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x03 | <em>fw-slot</em></p></td>
<td align="left" valign="top"><p class="table">Firmware Slot Information</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x04 | <em>changed-ns</em></p></td>
<td align="left" valign="top"><p class="table">Changed Namespace List</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x05 | <em>cmd-effects</em></p></td>
<td align="left" valign="top"><p class="table">Commands Supported and Effects</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x06 | <em>device-self-test</em></p></td>
<td align="left" valign="top"><p class="table">Device Self-test</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x07 | <em>telemetry-host</em></p></td>
<td align="left" valign="top"><p class="table">Telemetry Host-Initiated</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x08 | <em>telemetry-ctrl</em></p></td>
<td align="left" valign="top"><p class="table">Telemetry Controller-Initiated</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x09 | <em>endurance-group</em></p></td>
<td align="left" valign="top"><p class="table">Endurance Group Information</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x0a | <em>predictable-lat-nvmset</em></p></td>
<td align="left" valign="top"><p class="table">Predictable Latency Per NVM Set</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x0b | <em>predictable-lat-agg</em></p></td>
<td align="left" valign="top"><p class="table">Predictable Latency Event Aggregate</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x0c | <em>ana</em></p></td>
<td align="left" valign="top"><p class="table">Asymmetric Namespace Access</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x0d | <em>persistent-event</em></p></td>
<td align="left" valign="top"><p class="table">Persistent Event Log</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x0e | <em>lba-status</em></p></td>
<td align="left" valign="top"><p class="table">LBA Status Information</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x0f | <em>endurance-grp-evt</em></p></td>
<td align="left" valign="top"><p class="table">Endurance Group Event Aggregate</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x10 | <em>media-unit-status</em></p></td>
<td align="left" valign="top"><p class="table">Media Unit Status</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x11 | <em>supported-cap-config-list</em></p></td>
<td align="left" valign="top"><p class="table">Supported Capacity Configuration Lis</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x12 | <em>fid-supported-effects</em></p></td>
<td align="left" valign="top"><p class="table">Feature Identifiers Supported and Effects</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x13 | <em>mi-cmd-supported-effects</em></p></td>
<td align="left" valign="top"><p class="table">NVMe-MI Commands Supported and Effects</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x14 | <em>cmd-and-feat-lockdown</em></p></td>
<td align="left" valign="top"><p class="table">Command and Feature Lockdown</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x15 | <em>boot-partition</em></p></td>
<td align="left" valign="top"><p class="table">Boot Partition</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x16 | <em>rotational-media-info</em></p></td>
<td align="left" valign="top"><p class="table">Rotational Media Information</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x17 | <em>dispersed-ns-participating-ns</em></p></td>
<td align="left" valign="top"><p class="table">Dispersed Namespace Participating NVM Subsystems</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x18 | <em>mgmt-addr-list</em></p></td>
<td align="left" valign="top"><p class="table">Management Address List</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x19 | <em>phy-rx-eom</em></p></td>
<td align="left" valign="top"><p class="table">Physical Interface Receiver Eye Opening Measurement</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x1a | <em>reachability-groups</em></p></td>
<td align="left" valign="top"><p class="table">Reachability Groups</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x1b | <em>reachability-associations</em></p></td>
<td align="left" valign="top"><p class="table">Reachability Associations</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x1c | <em>changed-alloc-ns-list</em></p></td>
<td align="left" valign="top"><p class="table">Changed Allocated Namespace List</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x20 | <em>fdp-configs</em></p></td>
<td align="left" valign="top"><p class="table">FDP Configurations</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x21 | <em>fdp-ruh-usage</em></p></td>
<td align="left" valign="top"><p class="table">Reclaim Unit Handle Usage</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x22 | <em>fdp-stats</em></p></td>
<td align="left" valign="top"><p class="table">FDP Statistics</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x23 | <em>fdp-events</em></p></td>
<td align="left" valign="top"><p class="table">FDP Events</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x70 | <em>discover</em></p></td>
<td align="left" valign="top"><p class="table">Discovery</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x71 | <em>host-discover</em></p></td>
<td align="left" valign="top"><p class="table">Host Discovery</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x72 | <em>ave-discover</em></p></td>
<td align="left" valign="top"><p class="table">AVE Discovery</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x73 | <em>pull-model-ddc-req</em></p></td>
<td align="left" valign="top"><p class="table">Pull Model DDC Request</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x80 | <em>reservation</em></p></td>
<td align="left" valign="top"><p class="table">Reservation Notification</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0x81 | <em>sanitize</em></p></td>
<td align="left" valign="top"><p class="table">Sanitize Status</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">0xbf | <em>zns-changed-zones</em></p></td>
<td align="left" valign="top"><p class="table">Changed Zone List</p></td>
</tr>
</tbody>
</table>
</div>
</dd>
<dt class="hdlist1">
-a &lt;aen&gt;
</dt>
<dt class="hdlist1">
--aen=&lt;aen&gt;
</dt>
<dd>
<p>
        Convenience field for extracting log information based on an
        asynchronous event notification result. This will override log-id and
        log-len, if set.
</p>
</dd>
<dt class="hdlist1">
-n &lt;nsid&gt;
</dt>
<dt class="hdlist1">
--namespace-id=&lt;nsid&gt;
</dt>
<dd>
<p>
        Sets the command&#8217;s nsid value to the given nsid. Defaults to
        0xffffffff if not given. This option may not affect anything
        depending on the log page, which may or may not be specific to
        a namespace.
</p>
</dd>
<dt class="hdlist1">
-b
</dt>
<dt class="hdlist1">
--raw-binary
</dt>
<dd>
<p>
        Print the raw log buffer to stdout.
</p>
</dd>
<dt class="hdlist1">
-L &lt;offset&gt;
</dt>
<dt class="hdlist1">
--lpo=&lt;offset&gt;
</dt>
<dd>
<p>
        The log page offset specifies the location within a log page to start
        returning data from. It&#8217;s Dword-aligned and 64-bits.
</p>
</dd>
<dt class="hdlist1">
-s &lt;field&gt;
</dt>
<dt class="hdlist1">
--lsp=&lt;field&gt;
</dt>
<dd>
<p>
        The log specified field of LID.
</p>
</dd>
<dt class="hdlist1">
-S &lt;field&gt;
</dt>
<dt class="hdlist1">
--lsi=&lt;field&gt;
</dt>
<dd>
<p>
        The log specified field of Log Specific Identifier.
</p>
</dd>
<dt class="hdlist1">
-r
</dt>
<dt class="hdlist1">
--rae
</dt>
<dd>
<p>
        Retain an Asynchronous Event.
</p>
</dd>
<dt class="hdlist1">
-y &lt;command_set_identifier&gt;
</dt>
<dt class="hdlist1">
--csi=&lt;command_set_identifier&gt;
</dt>
<dd>
<p>
        This field specifies the identifier of command set.
        if not issued, NVM Command Set will be selected.
</p>
</dd>
<dt class="hdlist1">
-O
</dt>
<dt class="hdlist1">
--ot
</dt>
<dd>
<p>
        This field specifies the offset type. If set to false, the
        Log Page Offset Lower field and the Log Page Offset Upper
        field specify the byte offset into the log page to be returned.
        If set to true, the Log Page Offset Lower field and the Log
        Page Offset Upper field specify the index into the list of
        data structures in the log page to be returned.
        The default is byte offset. If the option is specified
        the index mode is used.
</p>
</dd>
<dt class="hdlist1">
-x &lt;length&gt;
</dt>
<dd>
<p>
--xfer-len &lt;length&gt;:
        Specify the read chunk size. The length argument is expected to be
        a multiple of 4096. The default size is 4096.
</p>
</dd>
<dt class="hdlist1">
-o &lt;fmt&gt;
</dt>
<dt class="hdlist1">
--output-format=&lt;fmt&gt;
</dt>
<dd>
<p>
        Set the reporting format to <em>normal</em>, <em>json</em> or <em>binary</em>. Only one
        output format can be used at a time.
</p>
</dd>
<dt class="hdlist1">
-v
</dt>
<dt class="hdlist1">
--verbose
</dt>
<dd>
<p>
        Increase the information detail in the output.
</p>
</dd>
</dl></div>
</div>
</div>
<div class="sect1">
<h2 id="_examples">EXAMPLES</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
Get 512 bytes from log page 2
</p>
<div class="listingblock">
<div class="content">
<pre><code># nvme get-log /dev/nvme0 --log-id=2 --log-len=512</code></pre>
</div></div>
<div class="paragraph"><p>The above example will get log page 2 (SMART), and request 512
bytes. On success, the returned log will be dumped in hex and not
interpreted by the program.</p></div>
</li>
<li>
<p>
Have the program return the raw log page in binary:
</p>
<div class="listingblock">
<div class="content">
<pre><code># nvme get-log /dev/nvme0 -log-id=2 --log-len=512 --raw-binary &gt; log_page_2.raw
# nvme get-log /dev/nvme0 -i 2 -l 512 -b &gt; log_page_2.raw</code></pre>
</div></div>
<div class="paragraph"><p>It is not a good idea to not redirect stdout when using this mode.</p></div>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_nvme">NVME</h2>
<div class="sectionbody">
<div class="paragraph"><p>Part of the nvme-user suite</p></div>
</div>
</div>
</div>
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
Last updated
 2025-11-04 10:36:28 CET
</div>
</div>
</body>
</html>
